
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.brain.cont.view.mbean;

import com.brain.cont.dto.ContratoDto;
import com.brain.cont.manager.ContratoManager;
import com.brain.cont.view.util.ConstantesCont;
import com.brain.core.common.UtilCore;
import com.brain.core.configuracion.WebServletContextListener;
import com.brain.core.dto.ParametroDto;
import com.brain.core.view.mbean.*;
import com.brain.core.manager.RecursosManager;
import com.brain.core.view.util.ApplicationHelper;
import com.brain.core.view.util.ConstantesCore;
import com.brain.sele.dto.PostulanteDto;
import com.brain.sele.dto.RequerimientoDto;
import com.brain.sele.manager.PostulanteManager;
import com.brain.sele.view.util.ConstantesSele;
import com.brain.sgc.dto.PersonaDto;
import com.brain.sgc.manager.PersonaManager;
import com.brain.sgc.view.mbean.LegajoMBean;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import javax.annotation.Resource;
import javax.faces.event.ActionEvent;
import org.apache.log4j.Logger;
import org.primefaces.event.SelectEvent;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;

/**
 *
 * @author Hvives
 */
@Controller("contratoMBean")
@Scope("session")
public class ContratoMBean extends GenericMBean implements Serializable {

    private static Logger logger = Logger.getLogger(ContratoMBean.class);
    @Resource
    private ContratoManager manager;
    @Resource
    private RecursosManager recursosManager;
    @Resource
    private PostulanteManager postulanteManager;
    @Resource
    private PersonaManager personaManager;
    private List<ContratoDto> lista;
    private ContratoDto dto;
    private ContratoDto dtoFiltro;
    private PersonaDto dtoPersonFiltro;
    private RequerimientoDto dtoReqFiltro;
    private String keyTitulo = "contrato.panel";
    @Autowired
    private ApplicationMBean applicationMBean;
    @Autowired
    private SessionMBean sessionMBean;
    private List<PostulanteDto> listaPostPorContratarDto;
    private List<ParametroDto> listaTipoDoc;
    private List<ParametroDto> listaSexo;
    private List<ParametroDto> listaSedesFiltro;
    private List<ParametroDto> listaModContratacionFiltro;
    private List<ParametroDto> listaModContratacion;
    private List<ParametroDto> listaUnidadOrganica;
    private List<ParametroDto> listaCatRemunerativa;
    private List<ParametroDto> listaSede;
    private List<ParametroDto> listaTipoTrabajador;
    private List<ParametroDto> listaEstados;
    private PostulanteDto postulanteDto;
    private PersonaDto personaDto;
    private String urlInvocador;
    private ContratoDto[] selectedConts;
    private String accionCont;
    private ContratoDto dtoPredecesor;
    private Date fechaActual;
    private Boolean isVer = false;

    public ContratoMBean() {
        this.dtoPersonFiltro = null;
        this.dtoReqFiltro = null;
        this.dtoFiltro = null;
    }

    public String iniciarNuevoContrato() {
        this.dtoPersonFiltro = new PersonaDto();
        this.dtoReqFiltro = new RequerimientoDto();
        this.listaPostPorContratarDto = null;
        return ConstantesCont.UrlNavegacion.URL_LISTA_PERSON_POR_CONTRATAR;
    }

    public String listaGeneralContratos() {
        this.lista = null;
        this.dtoFiltro = new ContratoDto();
        this.dtoFiltro.setPersonaDto(new PersonaDto());
        return ConstantesCont.UrlNavegacion.URL_LISTA_GENERAL_CONTRATOS;
    }

    public String listaContratosNoEnviadosPlanilla() {
        this.lista = null;
        this.dtoFiltro = new ContratoDto();
        this.dtoFiltro.setPersonaDto(new PersonaDto());
        return ConstantesCont.UrlNavegacion.URL_LISTA_CONTRATOS_NO_ENV_PLANILLA;
    }

    public String listaContratosPorRecategorizar() {
        this.lista = null;
        this.dtoFiltro = new ContratoDto();
        this.dtoFiltro.setPersonaDto(new PersonaDto());
        return ConstantesCont.UrlNavegacion.URL_LISTA_CONTRATOS_POR_RECAT;
    }

    public String listaContratoPorRenovar() {
        this.lista = null;
        this.dtoFiltro = new ContratoDto();
        this.dtoFiltro.setPersonaDto(new PersonaDto());
        return ConstantesCont.UrlNavegacion.URL_LISTA_CONTRATOS_POR_RENOVAR;
    }

    public String listaContratosPorNivelar() {
        this.lista = null;
        this.dtoFiltro = new ContratoDto();
        this.dtoFiltro.setPersonaDto(new PersonaDto());
        return ConstantesCont.UrlNavegacion.URL_LISTA_CONTRATOS_POR_NIVELAR;
    }

    public String editar() {
        this.isVer = false;
        sessionMBean.setAccion(ConstantesCont.Formulario.EDITAR);
        sessionMBean.setTitulo(recursosManager.construirTitulo(keyTitulo, sessionMBean.getAccion()));
        ApplicationHelper.cargarPropietarios(ConstantesCont.Entidad.CONTRATO, this.dto.getId());
        this.accionCont = ConstantesCont.Formulario.TIPO_CONT_NUEVO;
        this.postulanteDto = new PostulanteDto();
        this.urlInvocador = ConstantesCont.UrlNavegacion.URL_LISTA_GENERAL_CONTRATOS;
        this.dtoPredecesor = null;
        this.inicializarPopupLegajo();
        if (!this.dto.getEstadoDto().getId().equals(ConstantesCont.Parametro.CONT_ESTADO_GENERADO)) {
            sessionMBean.setAccion(ConstantesCont.Formulario.VER);
        }
        return ConstantesCont.UrlNavegacion.URL_NUEVO_CONTRATO;
    }

    public String ver() {
        sessionMBean.setAccion(ConstantesCont.Formulario.VER);
        sessionMBean.setTitulo(recursosManager.construirTitulo(keyTitulo, sessionMBean.getAccion()));
        ApplicationHelper.cargarPropietarios(ConstantesCont.Entidad.CONTRATO, this.dto.getId());
        this.accionCont = ConstantesCont.Formulario.TIPO_CONT_NUEVO;
        this.urlInvocador = ConstantesCont.UrlNavegacion.URL_LISTA_GENERAL_CONTRATOS;
        this.dtoPredecesor = null;
        this.inicializarPopupLegajo();
        this.isVer = true;
        return ConstantesCont.UrlNavegacion.URL_NUEVO_CONTRATO;
    }

    public String guardar() {
        ContratoDto responseDto = this.manager.guardar(this.dto, this.postulanteDto, this.accionCont);
        if (responseDto != null) {
            this.lista = null;
            this.dtoFiltro = new ContratoDto();
            this.dtoFiltro.setId(responseDto.getId());
            this.dtoFiltro.setPersonaDto(new PersonaDto());
            this.dtoFiltro.getPersonaDto().setTipoDocumentoDto(new ParametroDto());
            this.dtoFiltro.getPersonaDto().setSexoDto(new ParametroDto());
            this.dtoFiltro.setSedeDto(new ParametroDto());
            this.dtoFiltro.setTipoContratoDto(new ParametroDto());
            this.dtoFiltro.setEstadoDto(new ParametroDto());
            busquedaGralContratos(null);
            return ConstantesCont.UrlNavegacion.URL_LISTA_GENERAL_CONTRATOS;
        }
        return "";
    }

    public String cesarContrato() {
        this.accionCont = ConstantesCont.Formulario.TIPO_CONT_CESAR;
        if (this.manager.cesarContrato(this.dto, this.accionCont) != null) {
            this.lista = null;
            this.dtoFiltro = new ContratoDto();
            this.dtoFiltro.setPersonaDto(new PersonaDto());
            //busquedaGralContratos(null);
            return ConstantesCont.UrlNavegacion.URL_LISTA_GENERAL_CONTRATOS;
        }
        return "";
    }

    public void guardarCalificacion() {
        try {
            if (this.lista != null && !this.lista.isEmpty()) {
                for (ContratoDto cont : this.lista) {
                    this.manager.editar(cont);
                }
                busquedaContratosPorRenovar(null);
            }
            showMessage(UtilCore.Internacionalizacion.getMensajeInternacional("form.general.mensaje.transaccion.ok"));
        } catch (Exception ex) {
            logger.error("ERROR DE SISTEMA", ex);
            showError(ex.getMessage());
        }
    }

    public void guardarEnviarPlanilla() {
        try {
            if (this.lista != null && !this.lista.isEmpty()) {
                for (ContratoDto cont : this.lista) {
                    if (cont.getEnvPlanilla()) {
                        cont.setEstadoDto(new ParametroDto(ConstantesCont.Parametro.CONT_ESTADO_VIGENTE));
                    }
                    this.manager.editar(cont);
                }
                busquedaContratoNoEnviadosPlanilla(null);
                showMessage(UtilCore.Internacionalizacion.getMensajeInternacional("form.general.mensaje.transaccion.ok"));
            }
        } catch (Exception ex) {
            logger.error("ERROR DE SISTEMA", ex);
            showError(ex.getMessage());
        }
    }

    public void busquedaGralContratos(ActionEvent ae) {
        try {
            this.lista = this.manager.obtenerGralContratos(this.dtoFiltro);
        } catch (Exception ex) {
            logger.error("ERROR DE SISTEMA", ex);
            showError(ex.getMessage());
        }
    }

    public void busquedaContratoNoEnviadosPlanilla(ActionEvent ae) {
        try {
            this.lista = this.manager.obtenerContratosNoEnviadosPlanilla(this.dtoFiltro);
        } catch (Exception ex) {
            logger.error("ERROR DE SISTEMA", ex);
            showError(ex.getMessage());
        }
    }

    public void busquedaContratosPorRecategorizar(ActionEvent ae) {
        try {
            this.lista = this.manager.obtenerContratosPorRecategorizar(this.dtoFiltro);
            for (ContratoDto c : this.lista) {
                if (UtilCore.Fecha.obtenerFechaActualDate().compareTo(c.getFechaRecategorizacion()) >= 0) {
                    c.setColorRow(ConstantesCont.ValoresConstantes.STYLE_COLOR_ROW_RED);
                }
            }
        } catch (Exception ex) {
            logger.error("ERROR DE SISTEMA", ex);
            showError(ex.getMessage());
        }
    }

    public void busquedaContratosPorRenovar(ActionEvent ae) {
        try {
            this.lista = this.manager.obtenerContratosPorContratar(this.dtoFiltro);
            for (ContratoDto c : this.lista) {
                if (UtilCore.Fecha.obtenerFechaActualDate().compareTo(c.getFechaFin()) >= 0) {
                    c.setColorRow(ConstantesCont.ValoresConstantes.STYLE_COLOR_ROW_RED);
                }
            }
        } catch (Exception ex) {
            logger.error("ERROR DE SISTEMA", ex);
            showError(ex.getMessage());
        }
    }

    public void busquedaContratosPorNivelar(ActionEvent ae) {
        try {
            this.lista = this.manager.obtenerContratosPorNivelar(this.dtoFiltro);
            for (ContratoDto c : this.lista) {
                if (UtilCore.Fecha.obtenerFechaActualDate().compareTo(c.getFechaNivelacion()) >= 0) {
                    c.setColorRow(ConstantesCont.ValoresConstantes.STYLE_COLOR_ROW_RED);
                }
            }
        } catch (Exception ex) {
            logger.error("ERROR DE SISTEMA", ex);
            showError(ex.getMessage());
        }
    }

    public String recategorizarContrato() {
        try {
            sessionMBean.setAccion(ConstantesCont.Formulario.NUEVO);
            sessionMBean.setTitulo(recursosManager.construirTitulo(keyTitulo, sessionMBean.getAccion()));
            this.dto = this.manager.obtenerPorId(this.dtoPredecesor.getId());
            //this.dto.setId(null);
            this.dto.setFechaInicio(null);
            this.dto.setFechaFin(null);
            this.dto.setFechaRecategorizacion(null);
            this.dto.setEstadoDto(new ParametroDto(ConstantesCont.Parametro.CONT_ESTADO_GENERADO));
            this.dto.setCalificacion(null);
            this.dto.setEnvPlanilla(null);
            this.postulanteDto = new PostulanteDto();
            this.urlInvocador = ConstantesCont.UrlNavegacion.URL_LISTA_CONTRATOS_POR_RECAT;
            this.accionCont = ConstantesCont.Formulario.TIPO_CONT_RECAT;
            this.inicializarPopupLegajo();
        } catch (Exception ex) {
            logger.error("ERROR DE SISTEMA", ex);
            showError(ex.getMessage());
        }
        return ConstantesCont.UrlNavegacion.URL_NUEVO_CONTRATO;
    }

    public String nivelarContrato() {
        try {
            sessionMBean.setAccion(ConstantesCont.Formulario.NUEVO);
            sessionMBean.setTitulo(recursosManager.construirTitulo(keyTitulo, sessionMBean.getAccion()));
            this.dto = this.manager.obtenerPorId(this.dtoPredecesor.getId());
            //this.dto.setId(null);
            this.dto.setFechaInicio(null);
            this.dto.setFechaFin(null);
            this.dto.setFechaNivelacion(null);
            this.dto.setEstadoDto(new ParametroDto(ConstantesCont.Parametro.CONT_ESTADO_GENERADO));
            this.dto.setCalificacion(null);
            this.dto.setEnvPlanilla(null);
            this.postulanteDto = new PostulanteDto();
            this.urlInvocador = ConstantesCont.UrlNavegacion.URL_LISTA_CONTRATOS_POR_NIVELAR;
            this.accionCont = ConstantesCont.Formulario.TIPO_CONT_NIVELAR;
            this.inicializarPopupLegajo();
        } catch (Exception ex) {
            logger.error("ERROR DE SISTEMA", ex);
            showError(ex.getMessage());
        }
        return ConstantesCont.UrlNavegacion.URL_NUEVO_CONTRATO;
    }

    public String renovarContrato() {
        try {
            sessionMBean.setAccion(ConstantesCont.Formulario.NUEVO);
            sessionMBean.setTitulo(recursosManager.construirTitulo(keyTitulo, sessionMBean.getAccion()));
            this.dto = this.manager.obtenerPorId(this.dtoPredecesor.getId());
            //this.dto.setId(null);
            this.dto.setFechaInicio(null);
            this.dto.setFechaFin(null);
            this.dto.setCalificacion(null);
            this.dto.setEnvPlanilla(null);
            this.dto.setEstadoDto(new ParametroDto(ConstantesCont.Parametro.CONT_ESTADO_GENERADO));
            this.postulanteDto = new PostulanteDto();
            this.urlInvocador = ConstantesCont.UrlNavegacion.URL_LISTA_CONTRATOS_POR_RECAT;
            this.accionCont = ConstantesCont.Formulario.TIPO_CONT_RENOVAR;
            this.inicializarPopupLegajo();
        } catch (Exception ex) {
            logger.error("ERROR DE SISTEMA", ex);
            showError(ex.getMessage());
        }
        return ConstantesCont.UrlNavegacion.URL_NUEVO_CONTRATO;
    }

//INICIO METODOS GENERAR NUEVO CONTRATO
    public void buscarPostPorContratar(ActionEvent ae) {
        try {
            this.listaPostPorContratarDto = this.postulanteManager.obtenerPostPorContratar(this.dtoPersonFiltro, this.dtoReqFiltro);
        } catch (Exception ex) {
            logger.error("ERROR DE SISTEMA", ex);
            showError(ex.getMessage());
        }
    }

    public void generarExcelSeleccionadosEnviarAPlanilla() {
        this.manager.generarExcelSeleccionadosEnviarAPlanilla(this.selectedConts);
    }

    public void generarExcelPorTablaEnviarAPlanilla() {
        this.manager.generarExcelPorTablaEnviarAPlanilla(this.lista);
    }
    
    public void generarExcelSeleccionadosPorRenovar() {
        this.manager.generarExcelSeleccionadosPorRenovar(this.selectedConts);
    }

    public void generarExcelPorTablaPorRenovar() {
        this.manager.generarExcelPorTablaPorRenovar(this.lista);
    }

    public String NuevoContrato() {
        try {
            sessionMBean.setAccion(ConstantesCont.Formulario.NUEVO);
            sessionMBean.setTitulo(recursosManager.construirTitulo(keyTitulo, sessionMBean.getAccion()));
            if (this.postulanteDto.getPersonaDto().getContVigenteDto() != null) {
                this.dtoPredecesor = this.manager.obtenerPorId(this.postulanteDto.getPersonaDto().getContVigenteDto().getId());
                this.dto = this.manager.obtenerPorId(this.dtoPredecesor.getId());
                this.dto.setFechaInicio(null);
                this.dto.setFechaFin(null);
                this.dto.setCalificacion(null);
                this.dto.setEnvPlanilla(null);
            } else {
                this.dtoPredecesor = null;
                this.dto = new ContratoDto();
                this.dto.setFechaSuscripcion(UtilCore.Fecha.obtenerFechaActualDate());
            }
            this.dto.setConvocatoriaDto(this.postulanteDto.getRequerimientoDto().getConvocatoriaDto());
            this.dto.setEstadoDto(new ParametroDto(ConstantesCont.Parametro.CONT_ESTADO_GENERADO));
            this.dto.setPuestoDto(this.postulanteDto.getRequerimientoDto().getPuestoDto());
            this.dto.setPorRemunerativo(BigDecimal.valueOf(Long.valueOf("100")));
            if (this.postulanteDto.getRequerimientoDto().getPuestoDto().getRemBasica() != null) {
                this.dto.setRemBasica(this.postulanteDto.getRequerimientoDto().getPuestoDto().getRemBasica());
            }
            if (this.postulanteDto.getRequerimientoDto().getPuestoDto().getRemAlCargo() != null) {
                this.dto.setRemAlCargo(this.postulanteDto.getRequerimientoDto().getPuestoDto().getRemAlCargo());
            }
            if (this.postulanteDto.getRequerimientoDto().getPuestoDto().getRemVariable() != null) {
                this.dto.setRemVariable(this.postulanteDto.getRequerimientoDto().getPuestoDto().getRemVariable());
            }
            if (this.postulanteDto.getRequerimientoDto().getPuestoDto().getRiesgoCaja() != null) {
                this.dto.setRiesgoCaja(this.postulanteDto.getRequerimientoDto().getPuestoDto().getRiesgoCaja());
            }
            if (this.postulanteDto.getRequerimientoDto().getPuestoDto().getMovilidad() != null) {
                this.dto.setMovilidad(this.postulanteDto.getRequerimientoDto().getPuestoDto().getMovilidad());
            }
            if (this.postulanteDto.getRequerimientoDto().getPuestoDto().getAsignacionFamiliar() != null) {
                this.dto.setAsignacionFamiliar(this.postulanteDto.getRequerimientoDto().getPuestoDto().getAsignacionFamiliar());
            }
            if (this.postulanteDto.getRequerimientoDto().getPuestoDto().getComisiones() != null) {
                this.dto.setComisiones(this.postulanteDto.getRequerimientoDto().getPuestoDto().getComisiones());
            }
            this.dto.setSedeDto(this.postulanteDto.getRequerimientoDto().getSedeDto());
            this.dto.setPersonaDto(this.postulanteDto.getPersonaDto());
            this.dto.setTipoContratoDto(this.postulanteDto.getRequerimientoDto().getModalidadContratacionDto());
            this.urlInvocador = ConstantesCont.UrlNavegacion.URL_LISTA_PERSON_POR_CONTRATAR;
            this.accionCont = ConstantesCont.Formulario.TIPO_CONT_NUEVO;
            this.inicializarPopupLegajo();
            showMessage(UtilCore.Internacionalizacion.getMensajeInternacional("contrato.mensaje.datos_cargados_req") + " " + this.postulanteDto.getPersonaDto().getNombreCompleto());
        } catch (Exception ex) {
            logger.error("ERROR DE SISTEMA", ex);
            showError(ex.getMessage());
        }
        return ConstantesCont.UrlNavegacion.URL_NUEVO_CONTRATO;
    }
// FIN METODOS GENERAR NUEVO CONTRATO

    public void onRowSelect(SelectEvent event) {
        System.out.println("TAMANIO  " + this.selectedConts.length);
    }

    protected void inicializarPopupLegajo() {
        //Iniciamos los datos del legajo
        LegajoMBean legajoMBean = (LegajoMBean) WebServletContextListener.getApplicationContext().getBean("legajoMBean");
        legajoMBean.setPersonaDto(this.dto.getPersonaDto());
        legajoMBean.iniciar();
    }

    public void verLegajo() {
        try {
            LegajoMBean legajoMBean = (LegajoMBean) WebServletContextListener.getApplicationContext().getBean("legajoMBean");
            PersonaDto pDto = this.personaManager.obtenerPorId(this.dto.getPersonaDto().getId());
            legajoMBean.setPersonaDto(pDto);
            legajoMBean.iniciar();
        } catch (Exception ex) {
            logger.error("ERROR DE SISTEMA", ex);
            showError(ex.getMessage());
        }
    }

    public String retroceder() {
        sessionMBean.setAccion(ConstantesCont.Formulario.LISTA);
        sessionMBean().setTitulo(recursosManager.construirTitulo(keyTitulo, sessionMBean().getAccion()));
        return this.urlInvocador;
    }

    public static Logger getLogger() {
        return logger;
    }

    public static void setLogger(Logger logger) {
        ContratoMBean.logger = logger;
    }

    public ContratoManager getManager() {
        return manager;
    }

    public void setManager(ContratoManager manager) {
        this.manager = manager;
    }

    public RecursosManager getRecursosManager() {
        return recursosManager;
    }

    public void setRecursosManager(RecursosManager recursosManager) {
        this.recursosManager = recursosManager;
    }

    public List<ContratoDto> getLista() {
        return lista;
    }

    public void setLista(List<ContratoDto> lista) {
        this.lista = lista;
    }

    public ContratoDto getDto() {
        return dto;
    }

    public void setDto(ContratoDto dto) {
        this.dto = dto;
    }

    public ContratoDto getDtoFiltro() {
        return dtoFiltro;
    }

    public void setDtoFiltro(ContratoDto dtoFiltro) {
        this.dtoFiltro = dtoFiltro;
    }

    public String getKeyTitulo() {
        return keyTitulo;
    }

    public void setKeyTitulo(String keyTitulo) {
        this.keyTitulo = keyTitulo;
    }

    public ApplicationMBean getApplicationMBean() {
        return applicationMBean;
    }

    public void setApplicationMBean(ApplicationMBean applicationMBean) {
        this.applicationMBean = applicationMBean;
    }

    public SessionMBean getSessionMBean() {
        return sessionMBean;
    }

    public void setSessionMBean(SessionMBean sessionMBean) {
        this.sessionMBean = sessionMBean;
    }

    public PersonaDto getDtoPersonFiltro() {
        return dtoPersonFiltro;
    }

    public void setDtoPersonFiltro(PersonaDto dtoPersonFiltro) {
        this.dtoPersonFiltro = dtoPersonFiltro;
    }

    public RequerimientoDto getDtoReqFiltro() {
        return dtoReqFiltro;
    }

    public void setDtoReqFiltro(RequerimientoDto dtoReqFiltro) {
        this.dtoReqFiltro = dtoReqFiltro;
    }

    public List<PostulanteDto> getListaPostPorContratarDto() {
        return listaPostPorContratarDto;
    }

    public void setListaPostPorContratarDto(List<PostulanteDto> listaPostPorContratarDto) {
        this.listaPostPorContratarDto = listaPostPorContratarDto;
    }

    public List<ParametroDto> getListaTipoDoc() {
        return this.recursosManager.obtenerParametrosActivosPorCatalogoAdd(ConstantesCore.CatalogoParametro.DOCUMENTOS_DE_IDENTIFICACION, ConstantesCore.Parametro.TODOS);
    }

    public void setListaTipoDoc(List<ParametroDto> listaTipoDoc) {
        this.listaTipoDoc = listaTipoDoc;
    }

    public List<ParametroDto> getListaSexo() {
        return this.recursosManager.obtenerParametrosActivosPorCatalogoAdd(ConstantesCore.CatalogoParametro.GENEROS, ConstantesCore.Parametro.TODOS);
    }

    public void setListaSexo(List<ParametroDto> listaSexo) {
        this.listaSexo = listaSexo;
    }

    public List<ParametroDto> getListaSedesFiltro() {
        return this.recursosManager.obtenerParametrosActivosPorCatalogoAdd(ConstantesSele.CatalogoParametro.SEDES, ConstantesCore.Parametro.TODOS);
    }

    public void setListaSedesFiltro(List<ParametroDto> listaSedesFiltro) {
        this.listaSedesFiltro = listaSedesFiltro;
    }

    public List<ParametroDto> getListaEstados() {
        return this.recursosManager.obtenerParametrosActivosPorCatalogoAdd(ConstantesCont.CatalogoParametro.CONTRATO_ESTADOS, ConstantesCore.Parametro.TODOS);
    }

    public void setListaEstados(List<ParametroDto> listaEstados) {
        this.listaEstados = listaEstados;
    }

    public List<ParametroDto> getListaModContratacionFiltro() {
        return this.recursosManager.obtenerParametrosActivosPorCatalogoAdd(ConstantesSele.CatalogoParametro.MODALIDA_CONTRATACION, ConstantesCore.Parametro.TODOS);
    }

    public void setListaModContratacionFiltro(List<ParametroDto> listaModContratacionFiltro) {
        this.listaModContratacionFiltro = listaModContratacionFiltro;
    }

    public List<ParametroDto> getListaModContratacion() {
        return this.recursosManager.obtenerParametrosActivosPorCatalogo(ConstantesSele.CatalogoParametro.MODALIDA_CONTRATACION);
    }

    public void setListaModContratacion(List<ParametroDto> listaModContratacion) {
        this.listaModContratacion = listaModContratacion;
    }

    public List<ParametroDto> getListaUnidadOrganica() {
        return this.recursosManager.obtenerParametrosActivosPorCatalogo(ConstantesCont.CatalogoParametro.UNIDAD_ORGANICA);
    }

    public void setListaUnidadOrganica(List<ParametroDto> listaUnidadOrganica) {
        this.listaUnidadOrganica = listaUnidadOrganica;
    }

    public List<ParametroDto> getListaCatRemunerativa() {
        return this.recursosManager.obtenerParametrosActivosPorCatalogo(ConstantesCont.CatalogoParametro.CAT_REMUNERATIVA);
    }

    public void setListaCatRemunerativa(List<ParametroDto> listaCatRemunerativa) {
        this.listaCatRemunerativa = listaCatRemunerativa;
    }

    public List<ParametroDto> getListaSede() {
        return this.recursosManager.obtenerParametrosActivosPorCatalogo(ConstantesSele.CatalogoParametro.SEDES);
    }

    public void setListaSede(List<ParametroDto> listaSede) {
        this.listaSede = listaSede;
    }

    public List<ParametroDto> getListaTipoTrabajador() {
        return this.recursosManager.obtenerParametrosActivosPorCatalogo(ConstantesCont.CatalogoParametro.TIPO_TRABAJADOR);
    }

    public void setListaTipoTrabajador(List<ParametroDto> listaTipoTrabajador) {
        this.listaTipoTrabajador = listaTipoTrabajador;
    }

    public PostulanteDto getPostulanteDto() {
        return postulanteDto;
    }

    public void setPostulanteDto(PostulanteDto postulanteDto) {
        this.postulanteDto = postulanteDto;
    }

    public PersonaDto getPersonaDto() {
        return personaDto;
    }

    public void setPersonaDto(PersonaDto personaDto) {
        this.personaDto = personaDto;
    }

    public ContratoDto[] getSelectedConts() {
        return selectedConts;
    }

    public void setSelectedConts(ContratoDto[] selectedConts) {
        this.selectedConts = selectedConts;
    }

    public String getAccionCont() {
        return accionCont;
    }

    public void setAccionCont(String accionCont) {
        this.accionCont = accionCont;
    }

    public ContratoDto getDtoPredecesor() {
        return dtoPredecesor;
    }

    public void setDtoPredecesor(ContratoDto dtoPredecesor) {
        this.dtoPredecesor = dtoPredecesor;
    }

    public Date getFechaActual() {
        return UtilCore.Fecha.obtenerFechaActualDate();
    }

    public void setFechaActual(Date fechaActual) {
        this.fechaActual = fechaActual;
    }

    public Boolean getIsVer() {
        return isVer;
    }

    public void setIsVer(Boolean isVer) {
        this.isVer = isVer;
    }
}
